/*
 * $Id: $
 */
package org.rcgwt.client.ui.grid.renderer;

import org.rcgwt.client.ui.grid.internal.model.IElementModel;
import org.rcgwt.client.ui.grid.internal.model.IElementModelDelta;
import org.rcgwt.client.ui.grid.internal.model.IViewModel;

import com.google.gwt.dom.client.Element;

/**
 * 
 * @author Olivier Oeuillot (latest modification by $Author: $)
 * @version $Revision: $ $Date: $
 */
public interface IViewRenderer extends IRenderer<IViewModel> {

	void updateLayout(IViewRenderContext viewRenderContext,
			IViewModel viewModel, Element viewElement, int innerViewWidth,
			int innerViewHeight, int totalColumnWidth, int[] columnWidths);

	void setFocus(IViewRenderContext gridRenderContext, IViewModel viewModel,
			Element viewElement);

	void processSibblingDelta(IViewRenderContext viewRenderContext,
			Element viewElement,
			IElementModelDelta<? extends IElementModel> delta);

}
